package Level02;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/*
有一个 Map 集合里面存储了学生的名字,年龄,内容如下:{赵四=21, 王二=17, 张三=21},1 将里
面的元素使用两种遍历方式打印的控制台,2将赵四的年龄改为18,3将元素存入到student.txt
中.一行保存格式:姓名,年龄
 */
public class ElevenLiu {
    public static void main(String[] args) throws IOException {
        HashMap<String, Integer> hashMap = new HashMap<>();
        hashMap.put("赵四", 21);
        hashMap.put("王二", 17);
        hashMap.put("张三", 21);
        //第一种遍历
        Set<String> keySet = hashMap.keySet();
        for (String str : keySet) {
            System.out.println(str + "-->" + hashMap.get(str));
        }
        //第二种遍历
        System.out.println("------------");
        Set<Map.Entry<String, Integer>> entrySet = hashMap.entrySet();
        for (Map.Entry<String, Integer> entry : entrySet) {
            System.out.println(entry.getKey() + "-->" + entry.getValue());
        }
        // 修改赵四的年龄为18
        hashMap.put("赵四", 18);
        System.out.println("修改后：赵四的年龄为" + hashMap.get("赵四"));
        try (BufferedWriter writer = new BufferedWriter(new FileWriter(new File("student.txt"),true))) {
            for (Map.Entry<String, Integer> entry : entrySet) {
                writer.write(entry.getKey() + "," + entry.getValue());
//                writer.flush();
                writer.newLine(); // 换行
            }
            System.out.println("数据已成功写入student.txt");
        } catch (IOException e) {
            System.out.println("写入文件时出错：" + e.getMessage());
        }
    }

}


